package top.chmin.project.cloud.common.dict.data.auto;

// field import auto
// #bind.field.id#

import top.chmin.project.cloud.common.entity.*;

/**
 * chmin
 * 2023-12-27 15:50:18
 * cloud-builder
 */
public class DictDataFPC extends PreCondition {

    public DictDataFPC() {
    }

    public DictDataFPC(DictDataFPC parent) {
        super(parent);
    }

    public DictDataFPC forDelete() {
        type = "DELETE";
        return this;
    }

    public DictDataFPC forCount() {
        type = "COUNT";
        return this;
    }

    public DictDataFPC forDistinct() {
        type = "DISTINCT";
        return this;
    }

    public DictDataFPC limit(int limit) {
        super.limit = limit;
        return this;
    }

    public DictDataFPC sub() {
        return new DictDataFPC(this);
    }

    public DictDataFPC complete(boolean and) {
        finish(and);
        return parent == null ? this : (DictDataFPC) parent;
    }

    public Condition toCondition() {
        return toCondition(DictData.class, "cm_dict_data");
    }

    // field fpc auto
// #bind.field.id#
    public Id id() {
        return new Id();
    }

    // #bind.field.dictCode#
    public DictCode dictCode() {
        return new DictCode();
    }
// $bind.field.id$

    // #bind.field.createBy#
    public CreateBy createBy() {
        return new CreateBy();
    }

    // #bind.field.dictOrder#
    public DictOrder dictOrder() {
        return new DictOrder();
    }
// $bind.field.createBy$

    // #bind.field.updateBy#
    public UpdateBy updateBy() {
        return new UpdateBy();
    }

    public class Id extends LongFPCField<DictDataFPC> {
        private Id() {
            super(DictDataFPC.this, "id");
        }
    }
// $bind.field.updateBy$

    // #bind.field.createTime#
    public CreateTime createTime() {
        return new CreateTime();
    }

    public class CreateBy extends StringFPCField<DictDataFPC> {
        private CreateBy() {
            super(DictDataFPC.this, "create_by");
        }
    }
// $bind.field.createTime$

    // #bind.field.updateTime#
    public UpdateTime updateTime() {
        return new UpdateTime();
    }

    public class UpdateBy extends StringFPCField<DictDataFPC> {
        private UpdateBy() {
            super(DictDataFPC.this, "update_by");
        }
    }
// $bind.field.updateTime$

    public class CreateTime extends LocalDateTimeFPCField<DictDataFPC> {
        private CreateTime() {
            super(DictDataFPC.this, "create_time");
        }
    }

    public class UpdateTime extends LocalDateTimeFPCField<DictDataFPC> {
        private UpdateTime() {
            super(DictDataFPC.this, "update_time");
        }
    }
// $bind.field.dictCode$

    // #bind.field.dictValue#
    public DictValue dictValue() {
        return new DictValue();
    }

    public class DictCode extends StringFPCField<DictDataFPC> {
        private DictCode() {
            super(DictDataFPC.this, "dict_code");
        }
    }
// $bind.field.dictValue$

    // #bind.field.dictLabel#
    public DictLabel dictLabel() {
        return new DictLabel();
    }

    public class DictLabel extends StringFPCField<DictDataFPC> {
        private DictLabel() {
            super(DictDataFPC.this, "dict_label");
        }
    }
// $bind.field.dictLabel$

    public class DictValue extends StringFPCField<DictDataFPC> {
        private DictValue() {
            super(DictDataFPC.this, "dict_value");
        }
    }

    public class DictOrder extends IntegerFPCField<DictDataFPC> {
        private DictOrder() {
            super(DictDataFPC.this, "dict_order");
        }
    }
// $bind.field.dictOrder$

}